package com.cmc.cloud.cmclink.doc.service;

import com.cmc.cloud.cmclink.agt.api.base.req.document.DocumentAgreementRateInfoReqDTO;
import com.cmc.cloud.cmclink.agt.api.base.resp.document.DocumentAgreementRateInfoRespDTO;
import com.cmc.cloud.cmclink.doc.entity.BlnoCntrDO;
import com.cmc.cloud.cmclink.doc.entity.BlnoDO;
import com.cmc.cloud.cmclink.mkt.dto.loc.CalLocReqVo;
import com.cmc.cloud.cmclink.mkt.dto.loc.CalLocRespVo;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * @author lzp
 */
public interface BlnoCalculateOperateService {
    /**
     * 保存计算日志
     *
     * @param blnoMap          主表map
     * @param calLocReqVoList  计算请求参数
     * @param calLocRespVoList 计算结果
     * @param blnoCntrMap      子表map
     * @param calType          计算类型
     * @param status           状态
     * @param failMessage      失败信息
     * @param imExType         进出口类型
     */
    void saveCalLog(Map<Long, List<BlnoDO>> blnoMap, List<CalLocReqVo> calLocReqVoList, List<CalLocRespVo> calLocRespVoList, Map<Long, List<BlnoCntrDO>> blnoCntrMap, String calType, String status, String failMessage, String imExType);

    /**
     * 保存日志
     *
     * @param blnoMap
     * @param req
     * @param resp
     * @param blnoCntrMap
     * @param calType
     * @param status
     * @param  failMsg
     */
    void saveMultiLocalCostLog(Map<String, List<BlnoDO>> blnoMap, ArrayList<DocumentAgreementRateInfoReqDTO> req, ArrayList<DocumentAgreementRateInfoRespDTO> resp, Map<Long, List<BlnoCntrDO>> blnoCntrMap, String calType, String status, String failMsg);
}
